Micron Document
🎖️GitЯра🎖️

Node / meshcore / MeshCore / files / src / helpers / esp32 / SerialBLEInterface.h

Displaying Raw • Download

src/helpers/esp32/SerialBLEInterface.h 890a2e2cffa98dea3ca88db3c3aba72ef23ff3f7 (890a2e2c) Text, 2.95 KB

Tff7b72#Tff7b72pragma once

Tff7b72#Tff7b72include T8b949e"../BaseSerialInterface.h"
Tff7b72#Tff7b72include T8b949e<BLEDevice.h>
Tff7b72#Tff7b72include T8b949e<BLEServer.h>
Tff7b72#Tff7b72include T8b949e<BLEUtils.h>
Tff7b72#Tff7b72include T8b949e<BLE2902.h>
Tff7b72#Tff7b72include T8b949e<freertos/FreeRTOS.h>
Tff7b72#Tff7b72include T8b949e<freertos/queue.h>

Te6edf3class Te6edf3SerialBLEInterface Tff7b72: Te6edf3public Te6edf3BaseSerialInterfaceTb4b4b4, Te6edf3BLESecurityCallbacksTb4b4b4, Te6edf3BLEServerCallbacksTb4b4b4, Te6edf3BLECharacteristicCallbacks Tb4b4b4{
Te6edf3BLEServer Tff7b72*Te6edf3pServerTb4b4b4;
Te6edf3BLEService Tff7b72*Te6edf3pServiceTb4b4b4;
Te6edf3BLECharacteristic Tff7b72* Te6edf3pTxCharacteristicTb4b4b4;
Tffa657bool Te6edf3deviceConnectedTb4b4b4;
Tffa657bool Te6edf3oldDeviceConnectedTb4b4b4;
Tffa657bool Te6edf3_isEnabledTb4b4b4;
Tffa657uint16_t Te6edf3last_conn_idTb4b4b4;
Tffa657uint32_t Te6edf3_pin_codeTb4b4b4;
Tffa657unsigned Tffa657long Te6edf3_last_writeTb4b4b4;
Tffa657unsigned Tffa657long Te6edf3adv_restart_timeTb4b4b4;

Tff7b72struct T56d364Frame Tb4b4b4{
Tffa657uint8_t Te6edf3lenTb4b4b4;
Tffa657uint8_t Te6edf3bufTb4b4b4[Te6edf3MAX_FRAME_SIZETb4b4b4]Tb4b4b4;
Tb4b4b4}Tb4b4b4;

Tff7b72#Tff7b72define FRAME_QUEUE_SIZE 4
Te6edf3StaticQueue_t Te6edf3recv_queue_stateTb4b4b4;
Tffa657uint8_t Te6edf3recv_queue_storageTb4b4b4[Te6edf3FRAME_QUEUE_SIZE Tff7b72* Tff7b72sizeofTb4b4b4(Te6edf3FrameTb4b4b4)Tb4b4b4]Tb4b4b4;
Te6edf3QueueHandle_t Te6edf3recv_queueTb4b4b4;
Tffa657int Te6edf3send_queue_lenTb4b4b4;
Te6edf3Frame Te6edf3send_queueTb4b4b4[Te6edf3FRAME_QUEUE_SIZETb4b4b4]Tb4b4b4;

Tffa657void Td2a8ffclearBuffersTb4b4b4(Tb4b4b4)Tb4b4b4;

Te6edf3protectedTff7b72:
T8b949e// BLESecurityCallbacks methods
Tffa657uint32_t Te6edf3onPassKeyRequestTb4b4b4(Tb4b4b4) Te6edf3overrideTb4b4b4;
Tffa657void Td2a8ffonPassKeyNotifyTb4b4b4(Tffa657uint32_t Te6edf3pass_keyTb4b4b4) Te6edf3overrideTb4b4b4;
Tffa657bool Td2a8ffonConfirmPINTb4b4b4(Tffa657uint32_t Te6edf3pass_keyTb4b4b4) Te6edf3overrideTb4b4b4;
Tffa657bool Td2a8ffonSecurityRequestTb4b4b4(Tb4b4b4) Te6edf3overrideTb4b4b4;
Tffa657void Td2a8ffonAuthenticationCompleteTb4b4b4(Te6edf3esp_ble_auth_cmpl_t Te6edf3cmplTb4b4b4) Te6edf3overrideTb4b4b4;

T8b949e// BLEServerCallbacks methods
Tffa657void Td2a8ffonConnectTb4b4b4(Te6edf3BLEServerTff7b72* Te6edf3pServerTb4b4b4) Te6edf3overrideTb4b4b4;
Tffa657void Td2a8ffonConnectTb4b4b4(Te6edf3BLEServerTff7b72* Te6edf3pServerTb4b4b4, Te6edf3esp_ble_gatts_cb_param_t Tff7b72*Te6edf3paramTb4b4b4) Te6edf3overrideTb4b4b4;
Tffa657void Td2a8ffonMtuChangedTb4b4b4(Te6edf3BLEServerTff7b72* Te6edf3pServerTb4b4b4, Te6edf3esp_ble_gatts_cb_param_tTff7b72* Te6edf3paramTb4b4b4) Te6edf3overrideTb4b4b4;
Tffa657void Td2a8ffonDisconnectTb4b4b4(Te6edf3BLEServerTff7b72* Te6edf3pServerTb4b4b4) Te6edf3overrideTb4b4b4;

T8b949e// BLECharacteristicCallbacks methods
Tffa657void Td2a8ffonWriteTb4b4b4(Te6edf3BLECharacteristicTff7b72* Te6edf3pCharacteristicTb4b4b4, Te6edf3esp_ble_gatts_cb_param_tTff7b72* Te6edf3paramTb4b4b4) Te6edf3overrideTb4b4b4;

Te6edf3publicTff7b72:
Te6edf3SerialBLEInterfaceTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3pServer Tff7b72= Tffa657NULLTb4b4b4;
Te6edf3pService Tff7b72= Tffa657NULLTb4b4b4;
Te6edf3deviceConnected Tff7b72= Tffa657falseTb4b4b4;
Te6edf3oldDeviceConnected Tff7b72= Tffa657falseTb4b4b4;
Te6edf3adv_restart_time Tff7b72= T79c0ff0Tb4b4b4;
Te6edf3_isEnabled Tff7b72= Tffa657falseTb4b4b4;
Te6edf3_last_write Tff7b72= T79c0ff0Tb4b4b4;
Te6edf3last_conn_id Tff7b72= T79c0ff0Tb4b4b4;
Te6edf3recv_queue Tff7b72= Te6edf3xQueueCreateStaticTb4b4b4(
Te6edf3FRAME_QUEUE_SIZETb4b4b4, Tff7b72sizeofTb4b4b4(Te6edf3FrameTb4b4b4)Tb4b4b4, Te6edf3recv_queue_storageTb4b4b4, Tff7b72&Te6edf3recv_queue_state
Tb4b4b4)Tb4b4b4;
Te6edf3send_queue_len Tff7b72= T79c0ff0Tb4b4b4;
Tb4b4b4}

T8b949e/**
* init the BLE interface.
* @param prefix a prefix for the device name
* @param name IN/OUT - a name for the device (combined with prefix). If "@@MAC", is modified and returned
* @param pin_code the BLE security pin
*/
Tffa657void Te6edf3beginTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3prefixTb4b4b4, Tffa657charTff7b72* Te6edf3nameTb4b4b4, Tffa657uint32_t Te6edf3pin_codeTb4b4b4)Tb4b4b4;

T8b949e// BaseSerialInterface methods
Tffa657void Td2a8ffenableTb4b4b4(Tb4b4b4) Te6edf3overrideTb4b4b4;
Tffa657void Td2a8ffdisableTb4b4b4(Tb4b4b4) Te6edf3overrideTb4b4b4;
Tffa657bool Td2a8ffisEnabledTb4b4b4(Tb4b4b4) Tff7b72const Te6edf3override Tb4b4b4{ Tff7b72return Te6edf3_isEnabledTb4b4b4; Tb4b4b4}

Tffa657bool Td2a8ffisConnectedTb4b4b4(Tb4b4b4) Tff7b72const Te6edf3overrideTb4b4b4;

Tffa657bool Td2a8ffisWriteBusyTb4b4b4(Tb4b4b4) Tff7b72const Te6edf3overrideTb4b4b4;
Tffa657size_t Td2a8ffwriteFrameTb4b4b4(Tff7b72const Tffa657uint8_t Te6edf3srcTb4b4b4[Tb4b4b4]Tb4b4b4, Tffa657size_t Te6edf3lenTb4b4b4) Te6edf3overrideTb4b4b4;
Tffa657size_t Td2a8ffcheckRecvFrameTb4b4b4(Tffa657uint8_t Te6edf3destTb4b4b4[Tb4b4b4]Tb4b4b4) Te6edf3overrideTb4b4b4;
Tb4b4b4}Tb4b4b4;

Tff7b72#Tff7b72if BLE_DEBUG_LOGGING && ARDUINO
Tff7b72#Tff7b72include T8b949e<Arduino.h>
Tff7b72#Tff7b72define BLE_DEBUG_PRINT(F, ...) Serial.printf("BLE: " F, ##__VA_ARGS__)
Tff7b72#Tff7b72define BLE_DEBUG_PRINTLN(F, ...) Serial.printf("BLE: " F "\n", ##__VA_ARGS__)
Tff7b72#Tff7b72else
Tff7b72#Tff7b72define BLE_DEBUG_PRINT(...) {}
Tff7b72#Tff7b72define BLE_DEBUG_PRINTLN(...) {}
Tff7b72#Tff7b72endif

Served by rngit 1.5.2 - Generated in 0.06s